1. Field of the Invention
This invention relates generally to touch sensors including touchpads and touchscreens. More specifically, the present invention is a method for position calculation when one or more fingers are detected by an electrode grid where each electrode may have a signal corresponding to near-finger presence.
2. Description of Related Art
There are several designs for capacitance sensitive touch sensors. It is useful to examine the underlying technology to better understand how any capacitance sensitive touch sensor can be modified to work with the present invention.
The CIRQUE® Corporation touchpad is a mutual capacitance-sensing device and an example is illustrated as a block diagram in FIG. 1. In this touchpad 10, a grid of X (12) and Y (14) electrodes and a sense electrode 16 is used to define the touch-sensitive area 18 of the touchpad. Typically, the touchpad 10 is a rectangular grid of approximately 16 by 12 electrodes, or 8 by 6 electrodes when there are space constraints. Interlaced with these X (12) and Y (14) (or row and column) electrodes is a single sense electrode 16. All position measurements are made through the sense electrode 16.
The CIRQUE® Corporation touchpad 10 measures an imbalance in electrical charge on the sense line 16. When no pointing object is on or in proximity to the touchpad 10, the touchpad circuitry 20 is in a balanced state, and there is no charge imbalance on the sense line 16. When a pointing object creates imbalance because of capacitive coupling when the object approaches or touches a touch surface (the sensing area 18 of the touchpad 10), a change in capacitance occurs on the electrodes 12, 14. What is measured is the change in capacitance, but not the absolute capacitance value on the electrodes 12, 14. The touchpad 10 determines the change in capacitance by measuring the amount of charge that must be injected onto the sense line 16 to reestablish or regain balance of charge on the sense line.
The system above is utilized to determine the position of a finger on or in proximity to a touchpad 10 as follows. This example describes row electrodes 12, and is repeated in the same manner for the column electrodes 14. The values obtained from the row and column electrode measurements determine an intersection which is the centroid of the pointing object on or in proximity to the touchpad 10.
In the first step, a first set of row electrodes 12 are driven with a first signal from P, N generator 22, and a different but adjacent second set of row electrodes are driven with a second signal from the P, N generator. The touchpad circuitry 20 obtains a value from the sense line 16 using a mutual capacitance measuring device 26 that indicates which row electrode is closest to the pointing object. However, the touchpad circuitry 20 under the control of some microcontroller 28 cannot yet determine on which side of the row electrode the pointing object is located, nor can the touchpad circuitry 20 determine just how far the pointing object is located away from the electrode. Thus, the system shifts by one electrode the group of electrodes 12 to be driven. In other words, the electrode on one side of the group is added, while the electrode on the opposite side of the group is no longer driven. The new group is then driven by the P, N generator 22 and a second measurement of the sense line 16 is taken.
From these two measurements, it is possible to determine on which side of the row electrode the pointing object is located, and how far away. Pointing object position determination is then performed by using an equation that compares the magnitude of the two signals measured.
The sensitivity or resolution of the CIRQUE® Corporation touchpad is much higher than the 16 by 12 grid of row and column electrodes implies. The resolution is typically on the order of 960 counts per inch, or greater. The exact resolution is determined by the sensitivity of the components, the spacing between the electrodes 12, 14 on the same rows and columns, and other factors that are not material to the present invention.
The process above is repeated for the Y or column electrodes 14 using a P, N generator 24
Although the CIRQUE® touchpad described above uses a grid of X and Y electrodes 12, 14 and a separate and single sense electrode 16, the sense electrode can actually be the X or Y electrodes 12, 14 by using multiplexing.
When one or more fingers are detected by an array or grid of electrodes, each electrode may receive a signal corresponding to a portion of a finger, or near-finger presence. The prior art may use the well-known “weighted average” algorithm which produces a position for a finger.
It is important to understand the weighted average algorithm in detail in order to understand the advantages of the present invention. Therefore, an explanation of the weighted average algorithm is given. In summary, some origin is chosen, and each result in an array of results is given a weight that is proportional to a distance of the result from the origin. The weighted averages are summed, and the result is divided by an unweighted sum.
The result is a position of a finger from the origin in a selected dimension. Thus, when a touch sensor is being used that has a single dimension such as a linear array, then a single weighted average calculation may be performed in order to determine the position of the finger from the selected origin.
In the ideal “one finger” case (that is, where each result is entirely composed of a measure of near-finger presence) the weighted average algorithm performs adequately for most situations.
However, in a real world case such as when more than one finger is present, there are at least two problems with use of the weighted average algorithm that may result in inaccuracies in the position of the finger or fingers. The first problem is noise. In practice, position results may be very inaccurate if some random noise error is measured and stored in the results. This is because an error in the measurements that indicates that a finger is present at a location on the touch sensor that is far from the actual finger position will be weighted disproportionately large in the calculated weighted average position. Accordingly, it would be an advantage over the prior art to be able to minimize the effect of random noise that produces inaccurate results.
While it may be more intuitively obvious that noise that occurs far from an actual location of a finger may produce inaccurate position results, noise that occurs near an edge of a finger also causes problems. When the noise occurs near the edge of the finger, it is impossible to know what portion of a measured signal is due to the noise and what part of the measured signal is due to a valid position signal. Accordingly, more accurate position measurements might be obtained if the effect of noise near the edge of a finger can be minimized.
The second problem arises in the case of multiple fingers being present on the touch sensor. When the fingers are far apart, there may be no problems with determining an accurate position of each finger. However, when two or more fingers get near to each other when being measured, some position measurements include a signal from the finger that is not being measured. The position measurements for both fingers now include some signal from the other finger. Just as with noise, using the prior art average weight algorithm, it is impossible to know what portion of a given result is from each finger, and dividing or clipping the results gives position error and jitter in a non-continuous way.
Accordingly, it would be an advantage over the prior art to be able to exclude noise that is far from a finger, minimize the impact of noise that is measured nearer to a finger, and to be able to minimize the effect of a finger that is near a finger whose position is being measured.